#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
数据库调试脚本
用于检查用户和反馈数据的完整性
"""

import sys
from pathlib import Path

# 获取项目根目录（假设project目录的父目录是项目根）
project_root = str(Path(__file__).resolve().parent.parent)
sys.path.append(project_root)

# 现在可以使用绝对导入
from project.app import create_app, db  # 假设项目包名为project
from project.models import User, Feedback

def debug_database():
    app = create_app()
    
    with app.app_context():
        print("=== 数据库调试信息 ===")
        
        # 检查所有用户
        print("\n--- 所有用户 ---")
        users = User.query.all()
        for user in users:
            print(f"用户ID: {user.id} (类型: {type(user.id)})")
            print(f"用户名: {user.username}")
            print(f"角色: {user.role}")
            print(f"创建时间: {user.created_at}")
            print("---")
        
        # 检查所有反馈
        print("\n--- 所有反馈 ---")
        feedbacks = Feedback.query.all()
        for feedback in feedbacks:
            print(f"反馈ID: {feedback.id}")
            print(f"用户ID: {feedback.user_id} (类型: {type(feedback.user_id)})")
            print(f"内容: {feedback.content[:50]}...")
            print(f"状态: {feedback.status}")
            print(f"创建时间: {feedback.created_at}")
            
            # 检查对应的用户是否存在
            user = db.session.get(User, feedback.user_id)
            if user:
                print(f"对应用户: {user.username} (ID: {user.id})")
            else:
                print(f"警告: 找不到对应的用户 (ID: {feedback.user_id})")
            print("---")
        
        print("=== 调试完成 ===")

if __name__ == "__main__":
    debug_database()